﻿using BusinessDB;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;

namespace LightingTcpService
{
    public class ColRef
    {
        public string ColName { get; set; }
        public int Index { get; set; }
        public string PropertyName { get; set; }
        public bool IsRef { get; set; }
        public int Guid { get; set; }
    }

    public abstract class TableRef
    {
        public abstract Type ClassType { get; }
        public abstract IList<ColRef> RefList { get; }
    }

    //public class MainTable : TableRef
    //{
    //    public override Type ClassType
    //    {
    //        get
    //        {
    //            return typeof(ProdDB);
    //        }
    //    }

    //    private List<ColRef> _refList;
    //    public override IList<ColRef> RefList
    //    {
    //        get
    //        {
    //            if (_refList == null)
    //            {
    //                _refList = new List<ColRef>()
    //                {
    //                    new ColRef() {  ColName = "产品系列", PropertyName = "ProdSeries", Index=5 },
    //                    new ColRef() {  ColName = "产品分类", PropertyName = "ProdClass", IsRef=true, Guid = 1, Index=6 },
    //                    new ColRef() {  ColName = "使用场所", PropertyName = "ProdPlace", IsRef=true, Guid = 2, Index=7 },
    //                    new ColRef() {  ColName = "规格型号", PropertyName = "ProdVersion", Index=8 },
    //                    new ColRef() {  ColName = "产品品牌", PropertyName = "ProdLabel", Index=9 },
    //                    new ColRef() {  ColName = "产地", PropertyName = "ProdOrgin", IsRef=true, Guid = 3, Index=12 },
    //                };
    //            }
    //            return _refList;
    //        }
    //    }
    //}

    //public class PhysicalTable : TableRef
    //{
    //    public override Type ClassType
    //    {
    //        get
    //        {

    //            return typeof(Physical.Builder);
    //        }
    //    }

    //    private List<ColRef> _refList;
    //    public override IList<ColRef> RefList
    //    {
    //        get
    //        {
    //            if (_refList == null)
    //            {
    //                _refList = new List<ColRef>()
    //                {
    //                     new ColRef() {  ColName = "材质说明", PropertyName = "PhyMaterial", Index=13 },
    //                     new ColRef() {  ColName = "外观颜色", PropertyName = "PhyColor", Index=14 },
    //                     new ColRef() {  ColName = "外形尺寸", PropertyName = "PhySize", Index=15 },
    //                     new ColRef() {  ColName = "防护等级", PropertyName = "PhyDefend", Index=16},
    //                     new ColRef() {  ColName = "防撞击等级", PropertyName = "PhyImpact", IsRef=true, Guid = 4, Index=18 },
    //                     new ColRef() {  ColName = "产品重量", PropertyName = "PhyWeight", Index=19 }
    //                };
    //            }
    //            return _refList;
    //        }
    //    }
    //}


    //public class OpticsTable : TableRef
    //{
    //    public override Type ClassType
    //    {
    //        get
    //        {

    //            return typeof(Optics.Builder);
    //        }
    //    }

    //    private List<ColRef> _refList;
    //    public override IList<ColRef> RefList
    //    {
    //        get
    //        {
    //            if (_refList == null)
    //            {
    //                _refList = new List<ColRef>()
    //                {
    //                     new ColRef() {  ColName = "配光说明", PropertyName = "OptExplain", IsRef=true, Guid = 5, Index=21 },
    //                     new ColRef() {  ColName = "光束角", PropertyName = "OptEff", Index=22 },
    //                     new ColRef() {  ColName = "灯具效率", PropertyName = "OptAngle", Index=23 },
    //                };
    //            }
    //            return _refList;
    //        }
    //    }
    //}



    //public class ElectricTable : TableRef
    //{
    //    public override Type ClassType
    //    {
    //        get
    //        {

    //            return typeof(Electric.Builder);
    //        }
    //    }

    //    private List<ColRef> _refList;
    //    public override IList<ColRef> RefList
    //    {
    //        get
    //        {
    //            if (_refList == null)
    //            {
    //                _refList = new List<ColRef>()
    //                {
    //                     new ColRef() {  ColName = "防触电等级", PropertyName = "EleShock", Index=24 },
    //                     new ColRef() {  ColName = "工作电压", PropertyName = "EleVoltage", IsRef=true, Guid = 6, Index=25},
    //                     new ColRef() {  ColName = "电器类型", PropertyName = "EleType", Index=26 },
    //                     new ColRef() {  ColName = "电器功耗", PropertyName = "ElePower", Index=27 },
    //                     new ColRef() {  ColName = "光源功率", PropertyName = "EleLgtPower", Index=28 },
    //                     new ColRef() {  ColName = "整灯功耗", PropertyName = "EleAllPower", Index=29 },
    //                     new ColRef() {  ColName = "控制方式", PropertyName = "EleCtlType", IsRef=true, Guid = 7, Index=31 },
    //                };
    //            }
    //            return _refList;
    //        }
    //    }
    //}


    //public class AdapterLightingTable : TableRef
    //{
    //    public override Type ClassType
    //    {
    //        get
    //        {

    //            return typeof(AdapterLighting.Builder);
    //        }
    //    }

    //    private List<ColRef> _refList;
    //    public override IList<ColRef> RefList
    //    {
    //        get
    //        {
    //            if (_refList == null)
    //            {
    //                _refList = new List<ColRef>()
    //                {
    //                     new ColRef() {  ColName = "光源种类", PropertyName = "AdpClass", IsRef=true, Guid = 8, Index=32 },
    //                     new ColRef() {  ColName = "光源型号", PropertyName = "AdpVersion", Index=34 },
    //                     new ColRef() {  ColName = "色温或颜色", PropertyName = "AdpColor", Index=35 },
    //                     new ColRef() {  ColName = "显色性CRI", PropertyName = "AdpCri", Index=36 },
    //                     new ColRef() {  ColName = "光输出", PropertyName = "AdpOutput", Index=37 },
    //                     new ColRef() {  ColName = "插脚形式", PropertyName = "AdpPins", Index=38 },
    //                };
    //            }
    //            return _refList;
    //        }
    //    }
    //}

    //public class ProjectTable : TableRef
    //{
    //    public override Type ClassType
    //    {
    //        get
    //        {

    //            return typeof(Project.Builder);
    //        }
    //    }

    //    private List<ColRef> _refList;
    //    public override IList<ColRef> RefList
    //    {
    //        get
    //        {
    //            if (_refList == null)
    //            {
    //                _refList = new List<ColRef>()
    //                {
    //                     new ColRef() {  ColName = "可选配件", PropertyName = "ProjParts", Index=41 },
    //                     new ColRef() {  ColName = "安装方式", PropertyName = "ProjSetup", IsRef=true, Guid = 9, Index=42},
    //                     new ColRef() {  ColName = "安装尺寸", PropertyName = "ProjSize", Index=43 },
    //                     new ColRef() {  ColName = "认证及检测报告", PropertyName = "ProjReport", Index=48 },
    //                     new ColRef() {  ColName = "备注", PropertyName = "ProjBaikup", Index=49 }
    //                };
    //            };
    //            return _refList;
    //        }
    //    }
    //}


    //public class BusinessTable : TableRef
    //{
    //    public override Type ClassType
    //    {
    //        get
    //        {

    //            return typeof(Business.Builder);
    //        }
    //    }

    //    private List<ColRef> _refList;
    //    public override IList<ColRef> RefList
    //    {
    //        get
    //        {
    //            if (_refList == null)
    //            {
    //                _refList = new List<ColRef>()
    //                {
                        
    //                     new ColRef() {  ColName = "参考进价", PropertyName = "BusIn", Index=55 },
    //                     new ColRef() {  ColName = "市场参考价", PropertyName = "BusMarket", Index=56 },
    //                     new ColRef() {  ColName = "参考售价", PropertyName = "BusOut", Index=57 },
    //                     new ColRef() {  ColName = "参考货期", PropertyName = "BusExpires", Index=58 }
    //                };
    //            }
    //            return _refList;
    //        }
    //    }
    //}

    //public class PictureTable : TableRef
    //{
    //    public override Type ClassType
    //    {
    //        get
    //        {

    //            return typeof(Picture.Builder);
    //        }
    //    }

    //    private List<ColRef> _refList;
    //    public override IList<ColRef> RefList
    //    {
    //        get
    //        {
    //            if (_refList == null)
    //            {
    //                _refList = new List<ColRef>()
    //                {
    //                     new ColRef() {  Index=59, ColName = "图片(外观)", PropertyName = "PicFacade" },
    //                     new ColRef() {  Index=60, ColName = "图片(尺寸)", PropertyName = "PicSize" },
    //                     new ColRef() {  Index=61, ColName = "图片(配光1)", PropertyName = "PicGrading" },
    //                     new ColRef() {  Index=62, ColName = "图片(实景)", PropertyName = "PicLive" }
    //                };
    //            }
    //            return _refList;
    //        }
    //    }
    //}
}
